package _Banque._TUN;

import _Banque.Banque;
import _Banque.CompteEpargne;
import _Banque.Titulaire;
import _Tests.Tests;

//
//IUT de Nice / Departement informatique / Module APO-C++
//Annee 2008_2009 - Package _Banque
//
//Classe CompteEpargne - Tests unitaires des accesseurs de consultation
//                     (Cas nominaux)
//
//Auteur : T.Tran Van Thoan - Q.Salmeron
//

public class T_CompteEpargne_N2_2 {
	
public static void main (String[] args) throws _Exception.IPException {
		
		Tests.Begin("_Banque.CompteEpargne", "1.5.0");
		
		Banque b = new Banque();
		
		String adresse_1= "Imm. Les Magnolias Bat. 2, 8 Bd Napoleon III - NICE (06000)";
		String adresse_2= "Villa Beau Sejour, 115 Av. de la Grande Armee - PARIS (75000)";
		Titulaire dupuy = new Titulaire("DUPUY", "Melanie", "1978/04/25", adresse_1);
		Titulaire durand = new Titulaire("Durand", "Paul", "1981/01/03",  adresse_2);
		String titulaire_1= "DUPUY Melanie (1978/04/25) - Imm. Les Magnolias Bat. 2, 8 Bd Napoleon III - NICE (06000)";
		String titulaire_2= "DURAND Paul (1981/01/03) - Villa Beau Sejour, 115 Av. de la Grande Armee - PARIS (75000)";
		CompteEpargne cpt_1 = new CompteEpargne(b, dupuy, 0.005f);
		CompteEpargne cpt_2 = new CompteEpargne(b, durand, 0.003f);
		
			Tests.Design("Controle des accesseurs de consultation", 3); {
				
				Tests.Case("Accesseur getTitulaireCompte"); {
					
					Tests.Unit(titulaire_1,	cpt_1.getTitulaireCompte().toString());
					Tests.Unit(titulaire_2, cpt_2.getTitulaireCompte().toString());
				}
				
				Tests.Case("Accesseur getIdentiteTitulaire"); {
					
					Tests.Unit("DUPUY Melanie", cpt_1.getIdentiteTitulaire());
					Tests.Unit("DURAND Paul", cpt_2.getIdentiteTitulaire());
				}
				
				Tests.Case("Accesseur getNumeroCompte"); {
					
					Tests.Unit(4000001, cpt_1.getNumeroCompte());
					Tests.Unit(4000002, cpt_2.getNumeroCompte());
				}
				
				Tests.Case("Accesseur getSoldeCompte"); {
					
					Tests.Unit(0.0f, cpt_1.getSoldeCompte());
					Tests.Unit(0.0f, cpt_2.getSoldeCompte());
				}
				
				Tests.Case("Accesseur getNombreOperations"); {
					
					Tests.Unit(0, cpt_1.getNombreOperations());
					Tests.Unit(0, cpt_2.getNombreOperations());
				}
				
				Tests.Case("Accesseur getDateDerniereOperation"); {
					
					Tests.Unit("0", cpt_1.getDateDerniereOperation());
					Tests.Unit("0", cpt_2.getDateDerniereOperation());
				}
			}
			Tests.End();
	}
}
